package api

import (
	"fmt"
	"time"
)

var (
	datetime string
	welcome  string
	balance  float64 = 10000.00
	money    float64 = 0.00
	note     string  = ""
	detail   string  = "收支\t账户余额\t收支金额\t说    明"
	choice   string  = ""
	flag     bool    = false
)

const (
	author string = "venki.chen"
)

func init() {
	now := time.Now()
	datetime = now.Format("2006-01-02 15:04:05")
	welcome = author + "欢迎你来到今日的golang语言学习，现在的时间是：" + datetime
}

func Welcome() {
	fmt.Println(welcome)
	fmt.Println("--------------------------")
}

func Access() {
	customerManagerSystem()
	// showMenu()
}

// 客户信息管理系统
func customerManagerSystem() {

}

// 显示主菜单
func showMenu() {
	var key string = ""
	var loop bool = true
	for {
		fmt.Println("-------------------家庭收支记账软件-----------------------")
		fmt.Println("                   1. 收支明细                       ")
		fmt.Println("                   2. 登记收入                       ")
		fmt.Println("                   3. 登记支出                       ")
		fmt.Println("                   4. 退出软件                       ")
		fmt.Println("请选择（1-4）：")
		fmt.Scanln(&key)

		switch key {
		case "1":
			fmt.Println("--------------------当前收支明细记录----------------------------")
			if flag {
				fmt.Println(detail)
			} else {
				fmt.Println("当前没有收支明细，请先行记录一笔收支明细……")
			}
		case "2":
			fmt.Println("--------------------登记收入----------------------------")
			fmt.Println("本次收入金额：")
			fmt.Scanln(&money)
			balance += money
			fmt.Println("本次收入说明：")
			fmt.Scanln(&note)
			detail += fmt.Sprintf("\n收入\t%v\t\t%v\t\t%v", balance, money, note)
			flag = true
		case "3":
			fmt.Println("--------------------登记支出----------------------------")
			fmt.Println("本次支出金额：")
			fmt.Scanln(&money)
			if balance-money < 0 {
				fmt.Println("余额不足，请充值……")
				break
			}
			balance -= money
			fmt.Println("本次支出说明：")
			fmt.Scanln(&note)
			detail += fmt.Sprintf("\n支出\t%v\t\t%v\t\t%v", balance, money, note)
			flag = true
		case "4":
			fmt.Println("你确定要退出吗？y/n")
			fmt.Scanln(&choice)
			for {
				if choice == "y" || choice == "n" {
					break
				}
				fmt.Println("你的输入有误，请输入y/n")
				fmt.Scanln(&choice)
			}
			if choice == "y" {
				loop = false
			} else {
				loop = true
			}
		default:
			fmt.Println("请输入正确选项……")
		}

		if !loop {
			break
		}
	}
	fmt.Println("你退出了家庭记账软件使用……")
}
